public class ClassRoom implements Runnable {

   Thread  student,teacher;

   ClassRoom() {

       teacher=new Thread(this); 

       student=new Thread(this); 

       teacher.setName("王教授");

       student.setName("张三");

   } 

   public void run(){     

      if(Thread.currentThread()==student) {

         try{  System.out.println(student.getName()+"正在睡觉，不听课");

               Thread.sleep(1000*60*60);

         }

         catch(InterruptedException e) {

              System.out.println(student.getName()+"被老师叫醒了");

         }

         System.out.println(student.getName()+"开始听课");

       }

      else if(Thread.currentThread()==teacher)  {

         for(int i=1;i<=3;i++) {

            System.out.println("上课!");

            try{ Thread.sleep(500);

            }

            catch(InterruptedException e){} 

         }

         student.interrupt();           //吵醒student

      }

   }

}
